package com.authManager.server.service.impl;

import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import com.authManager.entity.SysMenuUrl;
import com.authManager.server.dao.SysMenuUrlMapper;
import com.authManager.server.service.ISysMenuUrlService;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.commons.base.model.AdminPage;
import com.commons.base.model.ResultCode;
import com.commons.base.model.ResultData;

/**
 * <p>
 * 【按钮 和 url关联表】 服务实现类
 * </p>
 *
 * @author 小旋风
 * @since 2018-8-20
 */
@Service
public class SysMenuUrlServiceImpl extends ServiceImpl<SysMenuUrlMapper, SysMenuUrl> implements ISysMenuUrlService {

	@SuppressWarnings("unused")
	private static final Logger log = LoggerFactory.getLogger(SysMenuUrlServiceImpl.class);

	@Override
	public ResultData<AdminPage<SysMenuUrl>> listSysMenuUrl(Map<String, Object> paramMap) {
		Page<SysMenuUrl> page = new Page<>(Integer.valueOf(String.valueOf(paramMap.get("pageNum"))),
				Integer.valueOf(String.valueOf(paramMap.get("pageSize"))));
		Wrapper<SysMenuUrl> entityWrapper = new EntityWrapper<>();

		// 主键
		if (paramMap.get("sysMenuUrlId") != null) {
			entityWrapper.eq("sys_menu_url.sys_menu_url_id", paramMap.get("sysMenuUrlId"));
		}
		// 按钮id
		if (paramMap.get("sysMenuId") != null) {
			entityWrapper.eq("sys_menu_url.sys_menu_id", paramMap.get("sysMenuId"));
		}
		// 访问url
		if (paramMap.get("requestUrl") != null) {
			entityWrapper.like("sys_menu_url.request_url", String.valueOf(paramMap.get("requestUrl")));
		}
		this.selectPage(page, entityWrapper);
		return new ResultData.Builder<AdminPage<SysMenuUrl>>(ResultCode.success)
				.setData(new AdminPage<SysMenuUrl>(page)).build();
	}
}
